A (hopefully!) speedy DS emulator.
The goal of NooDS is to be a fast and portable DS and GBA emulator. It features accurate software rendering with upscaling, and can take advantage of multiple cores for better performance. I started working on NooDS for fun and as a learning experience, and I'd like to keep it that way. If people are interested and get use out of it, that's a bonus!
NooDS is available for Windows, macOS, Linux, Android, Switch, Wii U, and Vita. The latest builds are automatically provided via GitHub Actions, and can be downloaded from the releases page.
NooDS should be able to run most things without any setup. DS BIOS and firmware files must be provided to boot the system menu, and can be dumped from a DS with DSBF Dumper. The firmware must come from an original DS; DSi and 3DS dumps don't contain any boot code. A GBA BIOS file can be optionally provided, and can be dumped from many systems with this dumper. File paths can be configured in the settings menu. Save types are automatically detected, but this may not always be accurate. If you run something and it has issues with saving, the save type can be overriden in the file menu.
This is a personal project, and I've decided to not review or accept pull requests for it. If you want to help, you can test things and report issues or provide feedback. If you can afford it, you can also donate to motivate me and allow me to spend more time on things like this. Nothing is mandatory, and I appreciate any interest in my projects, even if you're just a user!
Windows: Install MSYS2 and run the command
pacman -Syu mingw-w64-x86_64-{gcc,pkg-config,wxWidgets,portaudio,jbigkit} make
to get dependencies. Navigate to the
project root directory and run make -j$(nproc)
to start building.
macOS/Linux: On the target system, install wxWidgets and
PortAudio. This can be done with the Homebrew package manager on macOS,
or a built-in package manager on Linux. Run make -j$(nproc)
in the project root directory to start building.
Android: Install Android Studio or the command line tools. Run
./gradlew assembleDebug
in the project root directory to start building; dependencies will be installed as needed.
Switch: Install devkitPro and its switch-dev
package. Run
make switch -j$(nproc)
in the project root directory to start building.
Wii U: Install devkitPro and its wiiu-dev
package. Run
make wiiu -j$(nproc)
in the project root directory to start building.
Vita: Install Vita SDK and run make vita -j$(nproc)
in the project root directory to
start building.
- GBATEK - The main information source for all things DS and GBA
- GBATEK Addendum - A thread that aims to fill the gaps in GBATEK
- melonDS Blog - Contains posts that detail various 3D quirks
- DraStic BIOS - Reference for the DS HLE BIOS functions
- Cult of GBA BIOS - Reference for the GBA HLE BIOS functions
- Hydra's Lair - Blog where I may or may not write about things
- Discord Server - A place to chat about my projects and stuff